#include<iostream>
using namespace std;
const int N = 110;
int f[N][N];
int n, V;
int w[N], v[N], s[N];
int main()
{
	cin >> n >> V;
	for (int i = 1; i <= n; i++) {
		cin >> v[i] >> w[i] >> s[i];
	}
	for (int i = 1; i <= n; i++) {
		for (int j = 0; j <= V; j++) {
			for (int k = 0; k <= s[i] && v[i] * k <= j; k++) {
				f[i][j] = max(f[i][j], f[i - 1][j - k * v[i]] + k * w[i]);
			}
		}
	}
	cout << f[n][V] << endl;
	return 0;
}